Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Joo] Feat: 학생 성적 관리 프로그램 추가 #8

Open
wants to merge 1 commit into
base: 1_Joo
Choose a base branch
from

Conversation

ohdair
Copy link

@ohdair ohdair commented Dec 20, 2022

추가 기능

공통 에러 처리

스크린샷 2022-12-20 오전 10 34 06

enum Pattern: String {
    case input = "^[0-9a-zA-Z+]*$"
}

guard let _ = student.range(of: Pattern.input.rawValue, options: .regularExpression),
          student.isEmpty == false else {
    print(Errors.input.rawValue)
    return
}

학생 추가 기능 추가

  • 공통 에러 처리
  • 학생 추가
  • 중복 에러 처리

스크린샷 2022-12-20 오전 10 37 53

let isContain = manager.contains { $0.key == student }
    guard isContain == false else {
        print(student, terminator: "")
        Errors.containStudent.printSelf()
        return
    }

학생 삭제 기능 추가

  • 공통 에러 처리
  • 학생 삭제
  • 미포함 학생 에러 처리

스크린샷 2022-12-20 오전 10 38 12

let isContain = manager.contains { $0.key == student }
    guard isContain else {
        print("\(student)\(Errors.searchStudent.rawValue)")
        return
    }

학생 성적 반영 기능 추가

  • 공통 에러 처리
  • 학생 성적 추가

학생 성적 삭제 기능 추가

  • 공통 에러 처리
  • 학생 성적 삭제

학생 성적 확인 기능 추가

  • 학생 성적 출력
  • 학생 성적에 따른 평균 점수 반영

스크린샷 2022-12-20 오전 10 38 58

var average = 0.0
    for report in reports {
        print("\(report.subject): \(report.grade)")
        switch Grade(rawValue: report.grade) {
        case .APlus:
            average += Score.APlus.rawValue
        case .AZero:
            average += Score.AZero.rawValue
        case .BPlus:
            average += Score.BPlus.rawValue
        case .BZero:
            average += Score.BZero.rawValue
        case .CPlus:
            average += Score.CPlus.rawValue
        case .CZero:
            average += Score.CZero.rawValue
        case .DPlus:
            average += Score.DPlus.rawValue
        case .DZero:
            average += Score.DZero.rawValue
        default:
            average += 0.0
        }
    }
    average /= Double(reports.count)
    print("평점 : \(average)")

프로그램 종료 기능 추가

  • 프로그램 종료 문구 출력

To Reviewers

  • Swift 문법에 대해 미숙하여 문법에 대한 것을 봐주세요
  • 에러 처리를 했으나 더 채워넣어야 할 게 있는지 봐주세요

- 학생 추가 기능 추가
- 학생 삭제 기능 추가
- 학생 성적 반영 기능 추가
- 학생 성적 삭제 기능 추가
- 학생 성적 확인 기능 추가
- 프로그램 종료 기능 추가
@ohdair ohdair changed the title Feat: 학생 성적 관리 프로그램 추가 [Joo] Feat: 학생 성적 관리 프로그램 추가 Dec 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant